
from 工程.凌云项目.MLS接收模块.基础配置.基础配置引用 import *
    
def ILS抗混迭滤波特性测试初始化():
    模块编号 = str(sys.UUTINFO[1])
    if gy参数.初始化标识 != 'ILS抗混迭滤波特性测试初始化' + 模块编号:
        gy参数.初始化标识 = 'ILS抗混迭滤波特性测试初始化' + 模块编号
    else:
        return
    gy产品.模块控制.连接()
    gy仪器.频谱仪.连接()
    gy仪器.信号源.连接()
    gy产品.射频路由.连接()

    gy仪器.信号源.设置幅度(-100)
    gy仪器.信号源.调制开关('关')
    gy仪器.信号源.射频开关('开')
    gy仪器.频谱仪.设置扫频带宽(1e5)
    gy仪器.频谱仪.设置视频带宽(1e3)
    gy仪器.频谱仪.设置分析带宽(1e3)
    gy仪器.频谱仪.设置扫描时间自动()
    gy仪器.频谱仪.设置功率单位('DBM')
    gy仪器.频谱仪.设置参考幅度(15)
    gy仪器.频谱仪.设置中心频率(70e6)
    gy仪器.频谱仪.设置每格幅度(10)
    gy仪器.频谱仪.设置触发源IMM()
    gy仪器.频谱仪.设置自动衰减()
    gy仪器.频谱仪.设置触发开关('开')
    gy仪器.频谱仪.设置内部增益开关(0)

    gy产品.射频路由.接通ILS航向频谱仪测试()

    print("ILS抗混迭滤波特性测试初始化")


def ILS航向抗混迭滤波特性(频点=108.1):
    ILS抗混迭滤波特性测试初始化()

    gy产品.射频路由.接通ILS航向频谱仪测试()
    gy产品.模块控制.设置ILS航向频率(频点)

    频率 = int(频点 * 1000000)
    扫频带宽 = int(0.2e6)
    扫描步进 = int(扫频带宽 / 200)
    分析带宽 = 扫描步进
    补偿=gy参数.通道补偿['ILS航向']
    幅度起点=-99
    gy仪器.信号源.设置幅度(幅度起点+补偿)

    gy仪器.频谱仪.设置分析带宽(分析带宽)
    gy仪器.频谱仪.设置视频带宽(分析带宽)
    gy仪器.频谱仪.设置扫频带宽(扫频带宽)

    gy仪器.频谱仪.设置最大保持开关("关")
    gy仪器.信号源.设置频率(频率)
    gy方法.时间处理.延时(2)
    gy仪器.频谱仪.设置寻峰值()
    峰值 = gy仪器.频谱仪.读幅度()

    for i in range(33):
        gy仪器.信号源.设置幅度(幅度起点 + 补偿 - i)
        gy方法.时间处理.延时(0.5)
        gy仪器.频谱仪.设置寻峰值()
        峰值1 = gy仪器.频谱仪.读幅度()
        if 峰值-峰值1>3:
            峰值=峰值1
            幅度=幅度起点 + 补偿 - i
            break

    gy仪器.信号源.设置幅度(幅度 +6)
    gy仪器.信号源.设置频率(频率-扫描步进*6)
    gy方法.时间处理.延时(2)
    for i in range(频率-扫描步进*6, 频率 - (扫频带宽 // 2), -扫描步进):
        gy仪器.信号源.设置频率(i)
        gy方法.时间处理.延时(1)
        gy仪器.频谱仪.设置寻峰值()
        峰值1 = gy仪器.频谱仪.读幅度()
        if 峰值-峰值1>0:
            df3d=频率-i-扫描步进
            break

    gy仪器.信号源.设置频率(频率+扫描步进*6)
    gy方法.时间处理.延时(2)
    for i in range(频率+扫描步进*6, 频率 + (扫频带宽 // 2), 扫描步进):
        gy仪器.信号源.设置频率(i)
        gy方法.时间处理.延时(1)
        gy仪器.频谱仪.设置寻峰值()
        峰值1 = gy仪器.频谱仪.读幅度()
        if 峰值 - 峰值1 > 0:
            df3g = i-频率-扫描步进
            break

    gy仪器.信号源.设置幅度(幅度 + 60)
    gy仪器.信号源.设置频率(频率-df3d-扫描步进*2)
    gy方法.时间处理.延时(2)
    for i in range(频率-df3d-扫描步进*2, 频率 - (扫频带宽 // 2), -扫描步进):
        gy仪器.信号源.设置频率(i)
        gy方法.时间处理.延时(1)
        gy仪器.频谱仪.设置寻峰值()
        峰值1 = gy仪器.频谱仪.读幅度()
        if 峰值 - 峰值1 > 0:
            df60d = 频率 - i - 扫描步进
            break

    gy仪器.信号源.设置频率(频率+df3g+扫描步进*2)
    gy方法.时间处理.延时(2)
    for i in range(频率+df3g+扫描步进*2, 频率 + (扫频带宽 // 2), 扫描步进):
        gy仪器.信号源.设置频率(i)
        gy方法.时间处理.延时(1)
        gy仪器.频谱仪.设置寻峰值()
        峰值1 = gy仪器.频谱仪.读幅度()
        if 峰值 - 峰值1 > 0:
            df60g = i - 频率 - 扫描步进
            break
    BW6=(df3g+df3d)/1000
    BW60=(df60g+df60d)/1000
    print(df3d,df3g,BW6,df60d,df60g,BW60)
    gy方法.测试结果保存.结果保存(BW6, 'BW6')
    gy方法.测试结果保存.结果保存(BW60, 'BW60')

def ILS下滑抗混迭滤波特性(频点=332):
    ILS抗混迭滤波特性测试初始化()

    gy产品.射频路由.接通ILS下滑频谱仪测试()
    gy产品.模块控制.设置ILS下滑频率(频点)

    频率 = int(频点 * 1000000)
    扫频带宽 = int(0.4e6)
    扫描步进 = int(扫频带宽/200)
    分析带宽 = 扫描步进
    幅度起点=-91
    补偿=gy参数.通道补偿['ILS下滑']
    gy仪器.信号源.设置幅度(幅度起点+补偿)

    gy仪器.频谱仪.设置分析带宽(分析带宽)
    gy仪器.频谱仪.设置视频带宽(分析带宽)
    gy仪器.频谱仪.设置扫频带宽(扫频带宽)

    gy仪器.频谱仪.设置最大保持开关("关")
    gy仪器.信号源.设置频率(频率)
    gy方法.时间处理.延时(2)
    gy仪器.频谱仪.设置寻峰值()
    峰值 = gy仪器.频谱仪.读幅度()

    for i in range(33):
        gy仪器.信号源.设置幅度(幅度起点 + 补偿 - i)
        gy方法.时间处理.延时(0.5)
        gy仪器.频谱仪.设置寻峰值()
        峰值0 = gy仪器.频谱仪.读幅度()
        if 峰值-峰值0>3:
            幅度=幅度起点 + 补偿 - i
            break

    gy仪器.信号源.设置幅度(幅度 + 6)
    gy仪器.信号源.设置频率(频率-扫描步进*5)
    gy方法.时间处理.延时(2)
    for i in range(频率-扫描步进*5, 频率 - (扫频带宽 // 2), -扫描步进):
        gy仪器.信号源.设置频率(i)
        gy方法.时间处理.延时(1)
        gy仪器.频谱仪.设置寻峰值()
        峰值1 = gy仪器.频谱仪.读幅度()
        if 峰值0-峰值1>0:
            df3d=频率-i
            break

    gy仪器.信号源.设置频率(频率 + 扫描步进 * 5)
    gy方法.时间处理.延时(2)
    for i in range(频率+ 扫描步进 * 5, 频率 + (扫频带宽 // 2), 扫描步进):
        gy仪器.信号源.设置频率(i)
        gy方法.时间处理.延时(1)
        gy仪器.频谱仪.设置寻峰值()
        峰值1 = gy仪器.频谱仪.读幅度()
        if 峰值0 - 峰值1 > 0:
            df3g = i-频率
            break

    gy仪器.信号源.设置幅度(幅度+60)
    gy仪器.信号源.设置频率(频率 -df3d- 扫描步进 * 2)
    gy方法.时间处理.延时(2)
    for i in range(频率-df3d-扫描步进* 2, 频率 - (扫频带宽 // 2), -扫描步进):
        gy仪器.信号源.设置频率(i)
        gy方法.时间处理.延时(1)
        gy仪器.频谱仪.设置寻峰值()
        峰值1 = gy仪器.频谱仪.读幅度()
        if 峰值0 - 峰值1 > 0:
            df60d = 频率 - i
            break

    gy仪器.信号源.设置频率(频率 + df3g + 扫描步进 * 2)
    gy方法.时间处理.延时(2)
    for i in range(频率+df3g+扫描步进* 2, 频率 + (扫频带宽 // 2), 扫描步进):
        gy仪器.信号源.设置频率(i)
        gy方法.时间处理.延时(1)
        gy仪器.频谱仪.设置寻峰值()
        峰值1 = gy仪器.频谱仪.读幅度()
        if 峰值0 - 峰值1 > 0:
            df60g = i - 频率
            break
    BW6=(df3g+df3d)/1000
    BW60=(df60g+df60d)/1000
    print(df3d,df3g,BW6,df60d,df60g,BW60)
    gy方法.测试结果保存.结果保存(BW6, 'BW6')
    gy方法.测试结果保存.结果保存(BW60, 'BW60')

if __name__=='__main__':
    pass
    sys.UUTINFO = [0, 1]
    ILS下滑抗混迭滤波特性()
